package com.hmall.common.config;

import com.hmall.common.interceptors.UserInfoInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @Author Mr.Wen
 * @Version 1.0
 */
@Configuration
@ConditionalOnClass(DispatcherServlet.class)
public class MvcConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
//        把写好的拦截器注册进去
        registry.addInterceptor(new UserInfoInterceptor());
//        此时如果直接重启网关微服务，会报错，因为网关gateway依赖在底层并不是使用
//        springMvc的处理api，而是用的一种非阻塞式的api，所以需要在common中的Mvc配置类中
//        做区分，区分依据就是根据SpringMvc中的必要api DispatcherServlet
    }
}
